// package com.albedo.java.web.rest.errors;
//
// import com.albedo.java.web.rest.base.BaseResource;
// import org.springframework.dao.ConcurrencyFailureException;
// import org.springframework.http.HttpStatus;
// import org.springframework.security.access.AccessDeniedException;
// import org.springframework.web.bind.MissingServletRequestParameterException;
// import org.springframework.web.bind.annotation.*;
// import org.springframework.web.multipart.support.MissingServletRequestPartException;
//
// import javax.validation.Valid;
// import javax.validation.constraints.NotNull;
// import java.util.HashMap;
// import java.util.Map;
//
// @RestController
// public class ExceptionTranslatorTestController extends BaseResource {
//
// @GetMapping("/test/concurrency-failure")
// public void concurrencyFailure() {
// throw new ConcurrencyFailureException("test concurrency failure");
// }
//
// @PostMapping("/test/method-argument")
// public void methodArgument(@Valid @RequestBody TestDTO testDTO) {
// }
//
// @GetMapping("/test/parameterized-error")
// public void parameterizedError() {
// throw new CustomParameterizedException("test parameterized error", "param0_value",
// "param1_value");
// }
//
// @GetMapping("/test/parameterized-error2")
// public void parameterizedError2() {
// Map<String, Object> params = new HashMap<>();
// params.put("foo", "foo_value");
// params.put("bar", "bar_value");
// throw new CustomParameterizedException("test parameterized error", params);
// }
//
// @GetMapping("/test/missing-servlet-request-part")
// public void missingServletRequestPartException() throws Exception {
// throw new MissingServletRequestPartException("missing Servlet request part");
// }
//
// @GetMapping("/test/missing-servlet-request-parameter")
// public void missingServletRequestParameterException() throws Exception {
// throw new MissingServletRequestParameterException("missing Servlet request parameter",
// "parameter type");
// }
//
// @GetMapping("/test/access-denied")
// public void accessdenied() {
// throw new AccessDeniedException("test access denied!");
// }
//
//// @GetMapping("/test/response-status")
//// public void exceptionWithReponseStatus() {
//// throw new TestResponseStatusException();
//// }
//
// @GetMapping("/test/internal-server-error")
// public void internalServerError() {
// throw new RuntimeException();
// }
//
// public static class TestDTO {
//
// @NotNull
// private String test;
//
// public String getTest() {
// return test;
// }
//
// public void setTest(String test) {
// this.test = test;
// }
// }
//
//// @ResponseStatus(value = HttpStatus.BAD_REQUEST, reason = "test response status")
//// @SuppressWarnings("serial")
//// public static class TestResponseStatusException extends RuntimeException {
//// }
//
// }
